Computer systems may include performance profilers that collect data samples relating to performance parameters of the computer system. The accuracy of a performance profiler is related to the number of samples collected by the performance profiler. Increasing the number of samples collected by a performance profiler increases the accuracy of the profiler.
Conventional performance profilers operate within the kernel level of the computer's operating system. Interrupt calls to the operating system require kernel-level processing and processing by a bridge module, which consume processing cycles. Increasing the rate directly slows down applications, and may cause additional indirect slow downs, e.g., due to more frequent cache perturbations. More efficient performance profiler collecting techniques would permit samples to be collected more frequently, thereby increasing the accuracy of the profiled data while keeping application perturbation low.